% cmu-titlepage.sty  2 November 1989 R. Harper and D. Long
% substyle for use with standard LaTeX article or report document styles
% adapted from titlepage.sty
\def\title#1{\gdef\@title{#1}}

\def\author#1{\gdef\@author{#1}}

\def\date#1{\gdef\@date{#1}}
\gdef\@date{\today}          %Default is today's date

% technical report number
\def\trnumber#1{\gdef\@trnumber{#1}}
\gdef\@trnumber{CMU-CS-??-???}

% declaring citation information sets up formatting too
\def\citationinfo#1{\gdef\@citationinfo{\vskip 2em\begin{quote}{\small #1}\end{quote}\par}}
\gdef\@citationinfo{}

% declaring copyright information sets up formatting too
\def\copyrightnotice#1{\gdef\@copyrightnotice{\vfill\begin{center}{\small #1}\end{center}\par}}
\gdef\@copyrightnotice{}

% unmarked footnote
\long\def\unmarkedfootnote#1{{\xdef\@thefnmark{}\@footnotetext{#1}}}

% grant acknowledgements, etc.
\def\support#1{\begingroup\def\protect{\noexpand\protect\noexpand}\xdef\@support{\@support\protect\unmarkedfootnote{#1}}\endgroup}
\gdef\@support{}

% disclaimer information may be omitted, in which case it defaults to the
% standard disclaimer
\def\disclaimer#1{\begingroup\def\protect{\noexpand\protect\noexpand}\xdef\@disclaimer{\protect\unmarkedfootnote{#1}}\endgroup}

\gdef\@disclaimer{\unmarkedfootnote{The views and conclusions contained in
this document are those of the author(s) and should not be interpreted as
representing the official policies, either expressed or implied, of the Defense
Advanced Research Projects Agency or the U.S. government.}}

% abstract is a figure so it can float to next page if needed
\long\def\abstract#1{\long\gdef\@abstract{\vfil\begin{figure}[h]\begin{center}{\bf Abstract}\end{center}#1\end{figure}\par\vfil}}
\gdef\@abstract{}

% calculate skip needed to ensure that title appears in the cut-out
\newlength{\@cutoutvskip}
\setlength{\@cutoutvskip}{2.1875in}	% position of cut-out
\addtolength{\@cutoutvskip}{-1 true in}	% standard margin
\addtolength{\@cutoutvskip}{-\topmargin}
\addtolength{\@cutoutvskip}{-\headheight}
\addtolength{\@cutoutvskip}{-\headsep}

% code to build the title page
% \vbox needed only because minipage doesn't take a vertical size parameter
\def\maketitle{
\begin{titlepage}
\let\footnotesize\scriptsize \let\footnoterule\relax
\vskip \@cutoutvskip
\vbox to 2in{	% complaint if exceed cut-out vertical size
\begin{center}
\begin{minipage}[t]{4.75in}	% must be a minipage due to \thanks
\begin{center}
{\LARGE \@title \par}
\vskip 1.5em
{\large \begin{tabular}[t]{c}\@author\end{tabular}\par}
\smallskip
{\large \@date \par}
\smallskip
{\sc \@trnumber \par}
\end{center}
\end{minipage}
\end{center} %\par
} % end \vbox
\vskip 3em
\begin{center}
School of Computer Science \\
Carnegie Mellon University \\
Pittsburgh, PA 15213
\end{center} \par
\@citationinfo
\@thanks	% these are footnotes and will float to the bottom;
\@support	% they come here because the abstract is also a
\@disclaimer	% float and needs to appear last
\@abstract
\@copyrightnotice
\end{titlepage}
{\pagestyle{empty}\clearpage}	% flush abstract if it went to second page
\setcounter{page}{1}
\setcounter{footnote}{0}
\setcounter{figure}{0}
\let\support\relax\gdef\@support{}\gdef\@author{}\gdef\@title{}\gdef\@trnumber{}\gdef\@citationinfo{}\gdef\@copyrightnotice{}\gdef\@shortabstract{}\gdef\@longabstract{}\let\maketitle\relax}
